As computer infrastructures continue to advance, many companies are attempting to provide customers with a more robust ordering system. For example, a typical company today will provide a website or the like through which a customer can select and order goods/services. Once an order is placed, the company can interface with any 3rd party providers needed to fulfill the order. Unfortunately, many orders placed by customers today are “composite,” which requires a complex series of coordinated efforts to fulfill. For example, a single order placed by a customer can require parts and/or services from multiple providers, which in turn requires substantial effort to manage. It could also be the case that an order placed by the customer requires completion of one or more of the tasks that are dependent upon completion of another task.
Heretofore, various approaches have been taken to provide management of customer requests. Unfortunately, none of these approaches is fully automated, rather, they require high levels of human intervention. Moreover, none of these approaches provides for coordination among multiple providers in fulfilling an order. To this extent, no existing approach allows interaction with multiple providers to be individually managed. Still yet, no existing approach provides a complete end-to-end system that not only manages customers and providers, but also provides surveying and invoicing upon completion of an order.